草庐IT

Java Xpath 表达式

全部标签

c# - 使用C#正则表达式替换XML元素内容

我正在编写一些代码来处理记录xml数据,我希望能够替换文档中某些元素(例如密码)的内容。我宁愿不序列化和解析文档,因为我的代码将处理各种模式。示例输入文档:文档#1:jsmithmyPword文档#2:jsmithmyPword我希望我的输出是什么:输出文档#1:jsmithXXXXX输出文档#2:jsmithXXXXX由于我要处理的文档可能有多种模式,我希望提出一个很好的通用正则表达式解决方案,可以找到其中带有密码的元素并相应地屏蔽内容。我可以使用正则表达式和C#解决这个问题还是有更有效的方法? 最佳答案 这个问题最好用XSLT解

xml - 如何在 Silverlight 中计算 XPath 表达式?

我需要允许高级用户输入XPath表达式并向他们显示找到的值或节点或属性。在.Net框架中,System.Xml.XPath.Extensions可以用来调用XPathEvaluate,但是Silverlight没有这个MSDNreference.是否有人重写了用于Silverlight的扩展方法?最好的方法是什么?为什么它们在Silverlight或工具包中不可用(voteontheissuehere)? 最佳答案 我认为XPath在Silverlight中不可用的原因是MS希望您改用LinqtoXML。但这并不能完全帮助你。不幸的

c# - 混淆 我的 Xpath 表达式应该是什么?

我的categories.xml文件如下所示下面给出了我的attibutes.xml文件我在选择categoriesDropDown时绑定(bind)了我的attributeDropdown。代码如下protectedvoidddCategories_SelectedIndexChanged(objectsender,EventArgse){XmlDataSourcexd=newXmlDataSource();xd.DataFile=Server.MapPath("Xmls")+"\\attributes.xml";xd.XPath="/attributes/attribute[@ca

c# - XPath 表达式求值错误

我尝试解析一个大的XML文件,并且我为XPath表达式使用了很多相对路径。现在我遇到了.netXPath求值的问题。这是一个解释我的问题的小例子:EverydayItalianGiadaDeLaurentiis200530.00HarryPotterJK.Rowling2005代码如下:staticvoidMain(string[]args){System.Xml.XmlDocumentd=newSystem.Xml.XmlDocument();d.Load(@"D:\simpleXml.xml");System.Diagnostics.Trace.WriteLine(d.Select

c# - 这是表达此 XDocument 查询的最有效方式吗?

我们利用第三方网络服务返回XML,它看起来像(为简洁起见被删减):LMRDENG1235-u@surfuk11236-u@surfuk21237-u@surfuk3对于特定的产品代码,我需要获得realm名称,即内部文本:-u@surfuk2因为每个元素名称都是或用linqtoxml或查询表达式解析有点麻烦。以下是获取特定产品域名的最有效/最有效/最具表现力的方式吗?1235:Listproducts=response.Element("Response").Elements("block").Where(x=>x.Attribute("name").Value=="products"

c# - 如何在 C# 中使用 lambda 表达式检测元素是否存在?

当我解析元素时,我一直在使用try/catch语句来判断元素是否存在。显然,这不是最好的方法。我一直在使用LINQ(lambda表达式)进行大部分解析,但我只是不知道如何检测元素是否存在。我发现的一些解决方案的一个大问题是它们比使用try/catchblock需要多3-4倍的代码,这有点违背了目的。我假设代码看起来像这样:if(document.Element("myElement").Exists()){varmyValue=document.Element("myElement").Value;}我确实找到了这个link,但在我的情况下循环是不必要的,因为我可以保证它只出现一次(如

xml - 最大谓词的 XPath 表达式解决方法

鉴于此XML:Apple1asdfasdfasdfOrange3qwerqwtwetqwApple2zxcvzxvcxzb...我正在尝试找到具有特定名称的foo的键,比方说“Apple”,它具有最高等级。我正在使用以下xpath表达式(缺少max函数的解决方法):/foos/foo[name='Apple'andrank>=/foos/foo[name='Apple']/rank]/key/text()但是,有时我会返回多个结果,即使每个名称-排名组合都是独一无二的。我哪里出错了?这是在Java中使用的-如果结果是相关的,我可以发布整个代码。 最佳答案

xml - Xpath 表达式

我需要获得的值元素的元素值为2。请更正下面给出的Xpath表达式:尝试了Xpath表达式:/colors/child::color/child::mathcolor[colorvalue='2']示例XML:#007dc5C=100M=40Y=0K=02#ed1b34C=0M=100Y=85K=03 最佳答案 几乎,试试看:/colors/child::color[colorvalue='2']/child::mathcolor/text()或更简单/colors/color[colorvalue='2']/mathcolor/te

sql - SUM 和 COUNT xPath 表达式在 Oracle 11.2 中不起作用

我在Oracle(11gR2)中运行一些-相当简单-xPath查询时遇到问题,其中包含SUM和COUNT函数。例如:selectextractvalue(xmltype.createxml('1XXX2YYY'),'sum(/a/b/c)')fromdual;count相同:selectextractvalue(xmltype.createxml('1XXX2YYY'),'count(/a/b/c)')fromdual;我收到ORA-31012作为响应。知道如何让它工作吗?或者有什么可能的解决方法? 最佳答案 我不记得上次使用ext

c# - 我需要一个 LINQ 表达式来查找元素名称和属性与输入节点匹配的 XElement

当元素名称以及所有属性名称和值与输入元素匹配时,我需要替换XElement层次结构中节点的内容。(如果不匹配,可以添加新元素。)例如,如果我的数据如下所示:onetwothreefourfive当我使用此输入调用方法时,我想找到最后一个元素:newvalue该方法不应有硬编码的元素或属性名称-它只是将输入与数据匹配。 最佳答案 这将匹配任何给定的具有准确标签名称和属性名称/值对的元素:publicstaticvoidReplaceOrAdd(thisXElementsource,XElementnode){varq=fromxins